package rlog

import "github.com/mattn/go-colorable"

func init() {
	std.setRuntimeCaller(3)
}

var std = NewLogger(colorable.NewColorableStdout())

func Print(a ...any) {
	std.Print(a...)
}

func Println(a ...any) {
	std.Println(a...)
}

func Printf(format string, a ...any) {
	std.Printf(format, a...)
}

func Debug(a ...any) {
	std.Debug(a...)
}

func Info(a ...any) {
	std.Info(a...)
}

func Success(a ...any) {
	std.Success(a...)
}

func Warn(a ...any) {
	std.Warn(a...)
}

func Error(a ...any) {
	std.Error(a...)
}

func Panic(a ...any) {
	std.Panic(a...)
}

func ExitError(a ...any) {
	std.ExitError(a...)
}

func ExitErrorAndSleep3(a ...any) {
	std.ExitErrorAndSleep3(a...)
}

// PrintlnConsoleMust 强制打印到控制台日志
func PrintlnConsoleMust(a ...any) {
	std.PrintlnConsoleMust(a...)
}

// PrintlnFileMust 强制打印到文件
func PrintlnFileMust(a ...any) {
	std.PrintlnFileMust(a...)
}

// PrintlnConsoleMustOnly 强制只打印到控制台日志
func PrintlnConsoleMustOnly(a ...any) {
	std.PrintlnConsoleMustOnly(a...)
}

// PrintlnFileMustOnly 强制只打印到文件
func PrintlnFileMustOnly(a ...any) {
	std.PrintlnFileMustOnly(a...)
}

// SetLogFilePath 设置日志文件路径
func SetLogFilePath(filepath string, oldLogToZip bool) {
	std.SetLogFilePath(filepath, oldLogToZip)
}

// SetConsoleLevel 设置控制台日志打印等级
func SetConsoleLevel(level Level) {
	std.SetConsoleLevel(level)
}

// SetFileLevel 设置文件日志打印等级
func SetFileLevel(level Level) {
	std.SetFileLevel(level)
}

// SetFullTextStaining 设置是否全文着色，默认false：tag 着色。
func SetFullTextStaining(full bool) {
	std.SetFullTextStaining(full)
}

// SetAutoDeleteOldLogFile 设置自动删除多少天前的日志
func SetAutoDeleteOldLogFile(day uint) {
	std.SetAutoDeleteOldLogFile(day)
}

// SetLogFileMaxSize 设置日志文件最大大小，MB
func SetLogFileMaxSize(mb uint) {
	std.SetLogFileMaxSize(mb)
}
